#pragma once
#include <boost/format.hpp>
#include <Windows.h>
#include <iostream>

#define RED_TEXT(msg) boost::format("\033[31m%1%\033[0m") % msg
#define YELLOW_TEXT(msg) boost::format("\033[33m%1%\033[0m") % msg

namespace DYCommon
{
	class Logger
	{
	public:
		static void Info(const char* msg);
		static void Warn(const char* msg);
		static void Error(const char* msg);
	};

	void Logger::Info(const char* msg)
	{
		std::cout << "[INFO] " << msg << std::endl;
	}

	void Logger::Warn(const char* msg)
	{
		std::cout << "[" << YELLOW_TEXT("WARN") << "] " << msg << std::endl;
	}

	void Logger::Error(const char* msg)
	{
		std::cout << "[" << RED_TEXT("ERROR") << "] " << msg << std::endl;
	}
}
